1
レッスン7:Pythonモジュールの紹介
EvoClass-AI001Lecture 7
00:00

Pythonモジュールの紹介

Pythonでは、 モジュール は、拡張子が .py というファイルであり、再利用可能なコードコンポーネント(関数、クラス、変数)を格納する役割を果たします。モジュールは大規模なプログラムアーキテクチャの基盤であり、論理的に定義を分離することで開発者が複雑さを管理し、コードのメンテナンス性を高めることができます。このプロセスは、数学的概念が特定の分野に分けられるのと似ており(例:関数 $f(x)$ は特定の定義域 $D$ で定義される)、同じような構造を持っています。

1. モジュールの目的

モジュールは開発における3つの重要なニーズに対応しています:

  • コードの再利用を促進し、 コードの再利用 複数のプロジェクト間で定義を書き直すことなく実現できます。
  • 大きなプログラムを扱いやすく、関連のあるファイルに分割することで、明確さと整理された構造を確保します。
  • 名前衝突を防ぐために、 名前衝突 関数や変数に対して別々の名前空間を定義します。

概念的な例:

次のようなファイルがあると想像してください: utility.py 数学的な計算結果を求める関数を含むファイルです。このファイル全体がモジュールであり、その中にある関数が利用可能なコンテンツです。

2. インポートの方法

Pythonの import 文によって、外部の定義を現在のスクリプトで利用可能になります。選択した方法によって、コンポーネントへのアクセス方法や、現在のプログラムの名前空間への影響が決まります。

  • 標準インポート:import module_name。コンテンツにアクセスするには module_name.function()を使用する必要があります。
  • 選択的インポート:from module import function。関数名を直接使用できます(モジュールの接頭辞なしで)。 function() モジュールの接頭辞なしで。
  • エイリアス付きインポート:import module as alias。便利さのために、短い、プロジェクト固有の別名を提供します(例: import numpy as np)。
標準ライブラリの活用
Pythonには広範な 標準ライブラリ 組み込みモジュール('os'、'sys'、'random'、'math'など)が含まれています。これらの再利用可能なモジュールを活用する方法を学ぶことは、効率的な開発にとって不可欠であり、大幅な時間節約になります。
Question 1
If you use import math, how must you call the sqrt function to calculate $\sqrt{25}$?
sqrt(25)
math.sqrt(25)
math::sqrt(25)
use math sqrt
Question 2
Which benefit of using modules addresses the issue of having multiple functions named process_data in a large application?
Code execution speed
Preventing Naming Collisions
Automatic debugging
Question 3
What happens to a module file the second time you attempt to import it in the same running program?
It is imported again, executing all top-level code.
The import fails with an error.
Python recognizes it is already loaded and skips execution.
Only variables are reloaded.